package com.swq.java.code.chapter17.code07;

import java.util.*;

public class ScopeTester {
    int var1 = 0;    //实例变量

    public void test() {
        String[] data = {"Tom", "Mike", "Mary"};
        List<String> names = Arrays.asList(data);

        // lambda只能访问final局部变量，即使没有用final修饰也是不能更改的
        char var2 = ',';

        //以下这行代码编译出错,不允许改变var2最终变量的值
//        var2=' ';

        //使用 Lambda 表达式
        names.forEach((name) -> {
                    var1++;  //访问并修改实例变量var1

                    //通过this访问实例变量var1，访问局部变量var2
                    System.out.println(this.var1 + ":" + name + var2);
                }
        );
    }

    public static void main(String[] args) {
        new ScopeTester().test();
    }

}